home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #15 / Monster Media Number 15 (Monster Media)(July 1996).ISO / tbbs / prgsourc.zip / FLAGS.ZIP / FLAG-MGR.PRG < prev    next >
Text File  |  1996-03-10  |  19KB  |  822 lines

  1. SET EXCLUSIVE ON
  2. SET FORMAT TO fscr NOCLEAR
  3. SET INTENSITY OFF
  4. SET ESCAPE OFF
  5.  
  6. SELECT a
  7. USE ail INDEX ails
  8.  
  9. SELECT b
  10. USE vflags INDEX pik
  11.  
  12.  
  13. ok = .T.                                         &&  Initialize Variables
  14. STORE " " TO bfil,kin,line,lfil,bpat,dpat,bbsfil,dfil
  15. STORE 0 TO tcnt,dcnt,fcnt,dd,n
  16.  
  17. DECLARE head[4]                                  && Fill menu arrays
  18. head[1] = " File "
  19. head[2] = " Edit "
  20. head[3] = " Del-by-Date "
  21. head[4] = " Options "
  22.  
  23. DECLARE file[5]
  24. file[1] = " New ...    "
  25. file[2] = " Open ....  "
  26. file[3] = " Copy ...   "
  27. file[4] = " Delete ... "
  28. file[5] = " Quit       "
  29.  
  30. DECLARE edit[6]
  31. edit[1] = " Select "
  32. edit[2] = " Cut    "
  33. edit[3] = " Paste  "
  34. edit[4] = " Copy   "
  35. edit[5] = " space "           
  36. edit[6] = " graph "
  37.  
  38. DECLARE ddat[8]
  39. ddat[1] = " 1987   "
  40. ddat[2] = " 1988   "
  41. ddat[3] = " 1989   "
  42. ddat[4] = " 1990   "
  43. ddat[5] = " 1991   "
  44. ddat[6] = " 1992   "
  45. ddat[7] = " 1993   "
  46. ddat[8] = " 1994   "
  47.  
  48. DECLARE opt[4]
  49. opt[1] =  " lower case & fix... "
  50. opt[2] =  " Do not change case  "
  51. opt[3] =  " Limit lines to...   "
  52. opt[4] =  " Create file list... "
  53.  
  54. DECLARE fix[4]
  55. fix[1] =  " Cap first letter   "
  56. fix[2] =  " <asp> to <ASP>     "
  57. fix[3] =  " Caps on names      "
  58. fix[4] =  " SHAREWARE and FREE "
  59.  
  60. @ 0,5 SAY "<A> Block .AIL" 
  61. @ 1,5 SAY "<F> View flag positions"
  62. @ 2,5 SAY "<I> Index .TXT file to .PIK file"
  63. @ 3,5 SAY "<L> List files in \PIKS subdirectory"
  64. @ 4,5 SAY "<Esc> Quit"
  65.  
  66.  
  67. k= " "
  68. SET COLOR TO N/N
  69. @ 0,0 GET k
  70. DO WHILE .T.
  71.    READ
  72.    DO CASE
  73.       
  74.       CASE LastKey() = 27 
  75.            QUIT
  76.       
  77.       CASE LastKey() = 65 .OR. LastKey() = 97        && A 0R a .AIL
  78.            @ 0,0 CLEAR
  79.            DO Block
  80.            DO Menu
  81.         
  82.       CASE LastKey() = 70 .OR. LastKey() = 102       && F 0R f Files
  83.            @ 0,0 CLEAR
  84.            DO Flagview
  85.            DO Menu
  86.  
  87.       CASE LastKey() = 73 .OR. LastKey() = 105       && I 0R i Index
  88.            @ 0,0 CLEAR
  89.            DO Inx
  90.            DO Menu
  91.       
  92.       CASE LastKey() = 76 .OR. LastKey() = 108       && L 0R l List files
  93.            @ 0,0 CLEAR
  94.            DO Filelist
  95.            DO Menu
  96.    
  97.  
  98.  
  99.    ENDCASE
  100. ENDDO
  101. QUIT
  102.  
  103. **************************************************
  104. PROCEDURE Inx
  105.  
  106. SET COLOR TO W+/N
  107. txt = "textfile"
  108. @ 1,5 SAY "Enter the name of the text file (no path or extension)" 
  109. @ 2,5 SAY "to index: "
  110. SET COLOR TO GR+/N
  111. @ 2,15 GET txt PICTURE "@K!"
  112. READ
  113.  
  114. SET COLOR TO W+/N
  115.  
  116. SEEK txt
  117. IF .NOT. Found()
  118.    APPEND BLANK
  119.    REPLACE pfile WITH txt
  120. ENDIF
  121.  
  122. txt = homepath() + "PIKS\" + RTrim(txt) + ".TXT"
  123.  
  124. b = fMaxLen()
  125. IF b > 5120
  126.    tb = 2048
  127.    pb = 2048
  128. ELSE
  129.    IF buf > 3072
  130.       tb = 1024
  131.       pb = 1024
  132.    ELSE
  133.       IF buf > 512
  134.          tb = 256
  135.          pb = 256
  136.       ELSE
  137.          tb = 0 
  138.          pb = 0
  139.       ENDIF
  140.    ENDIF
  141. ENDIF
  142.  
  143.  
  144. FOPEN t (txt) 10 tb
  145. IF t < 0
  146.    DO er WITH 1
  147. ENDIF
  148.  
  149. @ 4,5 SAY "Examining file..."
  150.  
  151. pmax = 1
  152. lines = 0
  153.  
  154. DO WHILE .T.
  155.    FLREAD t tm line
  156.    IF tm > 0
  157.       line = LTrim(RTrim(CRTrim(line)))
  158.       n = Len(line)
  159.       IF n = 0
  160.          EXIT
  161.       ENDIF
  162.       IF n > pmax
  163.          pmax = n
  164.       ENDIF
  165.    ELSE 
  166.       EXIT
  167.    ENDIF
  168.    lines = lines + 1
  169. ENDDO
  170.  
  171. @ 6,5 SAY "Number of lines in file:"
  172. SET COLOR TO GR+/N
  173. @ 6,31 SAY LTrim(Str(lines))
  174. SET COLOR TO W+/N
  175.  
  176. IF lines > 15876
  177.    DO er WITH 2
  178. ENDIF
  179.  
  180. @ 8,5 SAY "Creating .PIK file..."
  181.  
  182. txt = Stuff(txt,Len(txt)-2,3,"PIK")
  183.  
  184. FCREATE p (txt) 13 0 pb
  185. IF p < 0
  186.    DO er WITH 3
  187. ENDIF
  188.  
  189. FSEEK t tp 0 0
  190.  
  191. x = 0
  192. DO WHILE .T.
  193.    FLREAD t tm line
  194.    IF tm > 0
  195.       line = LTrim(RTrim(CRTrim(line)))
  196.       p1 = Len(line)
  197.       IF p1 = 0
  198.          EXIT
  199.       ENDIF
  200.       IF pmax = p1
  201.          line = line + Chr(13) + Chr(10)
  202.       ELSE
  203.          line = line + Replicate(Chr(32),pmax-p1) + Chr(13) + Chr(10)
  204.       ENDIF
  205.       p1 = Len(line)
  206.       IF x = 0
  207.          Oldp1 = p1
  208.       ENDIF
  209.       IF p1 # Oldp1
  210.          DO er WITH 4
  211.       ENDIF
  212.       FLWRITE p pm line
  213.       IF pm < 1
  214.          DO er WITH 5
  215.       ENDIF
  216.       x = x + 1
  217.    ELSE
  218.      EXIT
  219.    ENDIF
  220. ENDDO
  221.  
  222. IF lines # x
  223.    DO er WITH 6
  224. ENDIF
  225.  
  226. REPLACE plen WITH x
  227. REPLACE pwidth WITH Oldp1
  228.  
  229. IF x > 126
  230.    REPLACE flen WITH 2
  231. ELSE
  232.    REPLACE flen WITH 1
  233. ENDIF
  234.  
  235. @ 10,5 SAY "Flag will use" 
  236. SET COLOR TO GR+/N
  237. @ 10,19 SAY LTrim(Str(flen))  
  238. SET COLOR TO W+/N
  239. IF flen = 1
  240.    @ 10,21 SAY "flag position."
  241. ELSE
  242.    @ 10,21 SAY "flag positions."
  243. ENDIF
  244.  
  245. @ 11,5 SAY "Enter the initial flag position:"
  246. SET COLOR TO GR+/N
  247. @ 11,38 GET fpos PICTURE "@KZB 99"
  248. READ
  249.  
  250. FCLOSE p
  251.  
  252. SET COLOR TO W+/N
  253. @ 13,5 SAY "Flag file indexing completed." 
  254. SET COLOR TO GR+/N
  255. @ 14,15 SAY "<ANY KEY>"
  256. k = InKey(40)
  257. RETURN
  258.  
  259.  
  260. **************************************************
  261. PROCEDURE Filelist
  262.  
  263. SET COLOR TO W+/N
  264.  
  265. mask = HomePath() + "PIKS\*.*"
  266. f1 = FindFirst(fil,(mask))
  267. @ 1,5 SAY f1
  268. x = 1
  269. DO WHILE Len(f1) > 0
  270.    f1 = FindNext(fil)
  271.    @ 1+x,5 SAY f1
  272.    x = x +1
  273. ENDDO
  274.  
  275. @ Row()+2,5 SAY "<ANY KEY>"
  276. k = Inkey(0)
  277. RETURN
  278.  
  279.  
  280. **************************************************
  281. PROCEDURE Flagview
  282.  
  283. SET COLOR TO W+/N
  284. COUNT TO cnt
  285. GOTO TOP
  286.    
  287. @ 1,2 SAY  "File/Identifier"
  288. @ 1,22 SAY "F. Position"
  289. @ 1,35 SAY "F. Length"
  290. @ 1,47 SAY "Length of line"
  291. @ 1,62 SAY "Length of File"
  292.  
  293. x = 1
  294. DO WHILE .T.
  295.    @ x+2,5 SAY pfile
  296.    @ x+2,25 SAY LTrim(Str(fpos))
  297.    @ x+2,37 SAY LTrim(Str(flen))
  298.    @ x+2,49 SAY LTrim(Str(pwidth))
  299.    @ x+2,65 SAY LTrim(Str(plen))
  300.    IF x = cnt
  301.       EXIT
  302.    ENDIF
  303.    SKIP
  304.    x = x + 1
  305. ENDDO
  306.  
  307. @ Row()+2,5 SAY "<ANY KEY>"
  308. k = Inkey(0)
  309. RETURN
  310.  
  311.  
  312. PROCEDURE Block
  313.  
  314. SELECT a
  315. SET COLOR TO W+/N
  316. COUNT TO cnt
  317. GOTO TOP
  318.  
  319. @ 1,22 SAY ".AIL File"
  320. @ 1,47 SAY "Blocked"
  321.  
  322. x = 1
  323. DO WHILE .T.
  324.    @ x+2,25 SAY ail
  325.    IF blocked
  326.       @ x+2,49 SAY "Blocked"
  327.    ELSE
  328.       @ x+2,49 SAY "Open"
  329.    ENDIF
  330.    IF x = cnt
  331.       EXIT
  332.    ENDIF
  333.    SKIP
  334.    x = x + 1
  335. ENDDO
  336. x = 1
  337.  
  338. GOTO TOP
  339. SET COLOR TO GR+/B
  340. @ x+2,25 SAY ail
  341.  
  342. k= " "
  343. SET COLOR TO N/N
  344. @ 0,0 GET k
  345. DO WHILE .T.
  346.    READ
  347.    SET COLOR TO W+/N
  348.    DO CASE
  349.       
  350.       CASE LastKey() = 24                           && Up
  351.            IF x = 1
  352.               LOOP
  353.            ENDIF
  354.            
  355.            @ x+2,25 SAY ail
  356.            
  357.            x = x - 1
  358.            SKIP -1
  359.  
  360.            SET COLOR TO GR+/B
  361.            @ x+2,25 SAY ail
  362.            
  363.  
  364.       CASE LastKey() = 24                           && Down
  365.            IF x = cnt
  366.               LOOP
  367.            ENDIF
  368.            
  369.            @ x+2,25 SAY ail
  370.            
  371.            x = x + 1
  372.            SKIP
  373.  
  374.            SET COLOR TO GR+/B
  375.            @ x+2,25 SAY ail
  376.  
  377.  
  378.       CASE LastKey() = 27                     && <Esc> = 
  379.            EXIT
  380.       
  381.       CASE LastKey() = 13                     && <Enter> = Block
  382.            IF blocked
  383.               REPLACE blocked WITH .F.
  384.               @ x+2,49 SAY "Open"
  385.            ELSE
  386.               REPLACE blocked WITH .T.
  387.               @ x+2,49 SAY "Blocked"
  388.            ENDIF
  389.       
  390.    ENDCASE
  391. ENDDO
  392. SELECT b
  393. RETURN
  394.  
  395.  
  396. SET COLOR TO B/B
  397. @ 0,0 CLEAR
  398. SET COLOR TO W/W
  399. @ 0,0 CLEAR TO 0,79
  400. @ 24,0 CLEAR TO 24,79
  401. SET COLOR TO N/W
  402. @ 0,10 SAY " Parse "
  403. @ 0,17 SAY " Del-by-Date "
  404. @ 0,30 SAY " Options "
  405. SET COLOR TO W/N
  406. @ 0,4 SAY " File "
  407.  
  408. SET COLOR TO B/B
  409. @ 7,21 CLEAR TO 16,59
  410.  
  411. DO WHILE .T.
  412.    DO nLST
  413.    FOPEN lstf (lfil) 10 lbuf                      && Open LIST.LST
  414.    IF lstf < 0
  415.       DO EBox WITH 2
  416.       QUIT
  417.    ENDIF
  418.  
  419.    
  420.    x = 1
  421.    y = 4
  422.    r = 1
  423.  
  424.    DO pBox WITH x
  425.  
  426.    SET COLOR TO B/B
  427.    @ 22,0 GET kin
  428.    
  429.    DO WHILE .T. 
  430.       READ
  431.       DO CASE
  432.          CASE LastKey() = 19                         && <Lt Arrow>
  433.               r = 1
  434.               p = 1
  435.               d = 1
  436.               o = 1
  437.               SET COLOR TO N/W
  438.               @ 0,y SAY head[x]
  439.               DO clrB WITH x
  440.               IF x = 1
  441.                  x = 4
  442.               ELSE
  443.                  x = x - 1
  444.               ENDIF
  445.               DO CASE
  446.                  CASE x = 1
  447.                       y = 4
  448.                  CASE x = 2
  449.                       y = 10
  450.                  CASE x = 3
  451.                       y = 17
  452.                  CASE x = 4
  453.                       y = 30
  454.               ENDCASE
  455.               DO pBox WITH x
  456.               DO chek WITH x
  457.               SET COLOR TO W/N
  458.               @ 0,y SAY head[x]
  459.               
  460.          CASE LastKey() = 4                        && <Rt Arrow>
  461.               r = 1
  462.               p = 1
  463.               d = 1
  464.               o = 1
  465.               SET COLOR TO N/W
  466.               @ 0,y SAY head[x]
  467.               DO clrB WITH x
  468.               IF x = 4 
  469.                  x = 1
  470.               ELSE
  471.                  x = x + 1
  472.               ENDIF
  473.               DO CASE
  474.                  CASE x = 1
  475.                       y = 4
  476.                  CASE x = 2
  477.                       y = 10
  478.                  CASE x = 3
  479.                       y = 17
  480.                  CASE x = 4
  481.                       y = 30
  482.               ENDCASE
  483.               DO pBox WITH x
  484.               DO chek WITH x
  485.               SET COLOR TO W/N
  486.               @ 0,y SAY head[x]
  487.               
  488.          CASE LastKey() = 5                        && <Up Arrow>
  489.               SET COLOR TO N/W
  490.               DO CASE
  491.                  CASE x = 1
  492.                       @ r+1,4 SAY file[r]
  493.                       IF r = 1 
  494.                          r = 5
  495.                       ELSE
  496.                          r = r - 1
  497.                       ENDIF
  498.                       SET COLOR TO W+/N
  499.                       @ r+1,4 SAY file[r]
  500.                  
  501.                  CASE x = 2
  502.                       @ p+1,12 SAY edit[p]
  503.                       IF p = 1 
  504.                          p = 6
  505.                       ELSE
  506.                          p = p - 1
  507.                       ENDIF
  508.                       SET COLOR TO W+/N
  509.                       @ p+1,12 SAY edit[p]
  510.               
  511.                  CASE x = 3
  512.                       @ d+1,19 SAY ddat[d]
  513.                       IF d = 1 
  514.                          d = 8
  515.                       ELSE
  516.                          d = d - 1
  517.                       ENDIF
  518.                       SET COLOR TO W+/N
  519.                       @ d+1,19 SAY ddat[d]
  520.               
  521.                  CASE x = 4
  522.                       @ o+1,32 SAY opt[o]
  523.                       IF o = 1 
  524.                          o = 4
  525.                       ELSE
  526.                          o = o - 1
  527.                       ENDIF
  528.                       SET COLOR TO W+/N
  529.                       @ o+1,32 SAY opt[o]
  530.            
  531.               ENDCASE
  532.  
  533.          CASE LastKey() = 24                       && <Dn Arrow>
  534.               SET COLOR TO N/W
  535.               DO CASE
  536.                  CASE x = 1
  537.                       @ r+1,4 SAY file[r]
  538.                       IF r = 5 
  539.                          r = 1
  540.                       ELSE
  541.                          r = r + 1
  542.                       ENDIF
  543.                       SET COLOR TO W+/N
  544.                       @ r+1,4 SAY file[r]
  545.                       
  546.                  CASE x = 2
  547.                       @ p+1,12 SAY edit[p]
  548.                       IF p = 6 
  549.                          p = 1
  550.                       ELSE
  551.                          p = p + 1
  552.                       ENDIF
  553.                       SET COLOR TO W+/N
  554.                       @ p+1,12 SAY edit[p]
  555.                    
  556.                  CASE x = 3
  557.                       @ d+1,19 SAY ddat[d]
  558.                       IF d = 8 
  559.                          d = 1
  560.                       ELSE
  561.                          d = d + 1
  562.                       ENDIF
  563.                       SET COLOR TO W+/N
  564.                       @ d+1,19 SAY ddat[d]
  565.                    
  566.                  CASE x = 4
  567.                       @ o+1,32 SAY opt[o]
  568.                       IF o = 4 
  569.                          o = 1
  570.                       ELSE
  571.                          o = o + 1
  572.                       ENDIF
  573.                       SET COLOR TO W+/N
  574.                       @ o+1,32 SAY opt[o]
  575.               ENDCASE
  576.  
  577.          CASE LastKey() = 13                        && <Enter>
  578.               DO CASE
  579.                  CASE x = 1
  580.                       DO CASE
  581.                          CASE r = 1
  582.                               SET COLOR TO W/N
  583.                               @ 2,4 SAY " Continue   "
  584.                               
  585.                               SET COLOR TO B/B      && Clear Description box
  586.                               @ 9,30 CLEAR TO 13,70
  587.                            
  588.                               SET COLOR TO W+/N
  589.                               @ 2,4 SAY " Continue   "
  590.                            
  591.                          CASE r = 2                 
  592.                               SET COLOR TO W/N
  593.                               @ 3,4 SAY " Non-Stop   "
  594.                               SET COLOR TO B/B     && Clear Description box
  595.                               @ 9,30 CLEAR TO 13,70
  596.  
  597.                               SET COLOR TO W+/N
  598.                               @ 3,4 SAY " Non-Stop   "
  599.                            
  600.                          CASE r = 3  
  601.                               SET COLOR TO W/N
  602.                               @ 4,4 SAY " Skip       "
  603.                            
  604.                               SET COLOR TO B/B      && Clear Description box
  605.                               @ 9,30 CLEAR TO 13,70
  606.                            
  607.                               SET COLOR TO W+/N
  608.                               @ 4,4 SAY " Skip       "
  609.                       
  610.                          CASE r = 4
  611.                               SET COLOR TO W/N
  612.                               @ 5,4 SAY " New CD-ROM "
  613.                               
  614.                               SET COLOR TO B/B      && Clear Description box
  615.                               @ 9,30 CLEAR TO 13,70
  616.                               EXIT
  617.                               
  618.                          CASE r = 5
  619.                               QUIT
  620.                       ENDCASE
  621.                  
  622.                  CASE x = 2
  623.    
  624.                  CASE x = 3
  625.               
  626.                  CASE x = 4
  627.               
  628.               ENDCASE
  629.          OTHERWISE
  630.              LOOP
  631.       ENDCASE
  632.    ENDDO
  633. ENDDO
  634. QUIT
  635.  
  636.  
  637. **************************************************
  638. PROCEDURE pBox
  639. PARAMETERS p
  640.  
  641. DO CASE
  642.    CASE p = 1                                    && Run
  643.         DO BoxW WITH 1,3,7,16,"s" 
  644.         @ 3,4 SAY " Non-Stop   "
  645.         @ 4,4 SAY " Skip       "
  646.         @ 5,4 SAY " New CD-ROM "
  647.         @ 6,4 SAY " Quit       "
  648.         SET COLOR TO W+/N
  649.         @ 2,4 SAY " Continue   "
  650.    
  651.    CASE p = 2                                    && Parse
  652.         DO BoxW WITH 1,9,8,19,"s"      
  653.         @ 3,12 SAY " !!!!! "
  654.         @ 4,12 SAY " ***** "
  655.         @ 5,12 SAY " $$$$$ "
  656.         @ 6,12 SAY " space "           
  657.         @ 7,12 SAY " graph "
  658.         SET COLOR TO W+/N
  659.         @ 2,12 SAY " ..... "
  660.    
  661.    CASE p = 3                                    && Del-by-Date
  662.         DO BoxW WITH 1,16,10,27,"s"
  663.         @ 3,19 SAY " 1988   "
  664.         @ 4,19 SAY " 1989   "
  665.         @ 5,19 SAY " 1990   "
  666.         @ 6,19 SAY " 1991   "
  667.         @ 7,19 SAY " 1992   "
  668.         @ 8,19 SAY " 1993   "
  669.         @ 9,19 SAY " 1994   "
  670.         SET COLOR TO W+/N
  671.         @ 2,19 SAY " 1987   "
  672.    
  673.    CASE p = 4                                    && Options
  674.         DO BoxW WITH 1,29,6,53,"s"      
  675.         @ 3,32 SAY " Do not change case  "
  676.         @ 4,32 SAY " Limit lines to...   "
  677.         @ 5,32 SAY " Create file list... "
  678.         SET COLOR TO W+/N
  679.         @ 2,32 SAY " lower case & fix... "
  680.  
  681.    CASE p = 5                                    && Fix
  682.         DO BoxW WITH 2,54,7,77,"s"      
  683.         @ 4,57 SAY " <asp> to <ASP>     "
  684.         @ 5,57 SAY " Caps on names      "
  685.         @ 6,57 SAY " SHAREWARE and FREE "
  686.         SET COLOR TO W+/N
  687.         @ 3,57 SAY " Cap first letter   "
  688.  
  689. ENDCASE
  690. RETURN
  691.  
  692.  
  693. **************************************************
  694. PROCEDURE chek
  695. PARAMETERS n
  696.  
  697. SET COLOR TO W+/W
  698. DO CASE
  699.    CASE n = 1
  700.         RETURN
  701.    CASE n = 2
  702.         IF "." $ pstr
  703.            @ 2,11 SAY "√"
  704.         ENDIF
  705.         IF "!" $ pstr
  706.            @ 3,11 SAY "√"
  707.         ENDIF
  708.         IF "*" $ pstr
  709.            @ 4,11 SAY "√"
  710.         ENDIF
  711.         IF "$" $ pstr
  712.            @ 5,11 SAY "√"
  713.         ENDIF
  714.         IF "s" $ pstr
  715.            @ 6,11 SAY "√"
  716.         ENDIF
  717.         IF "g" $ pstr
  718.            @ 7,11 SAY "√"
  719.         ENDIF
  720.  
  721.    CASE n = 3
  722.         IF "7" $ dstr
  723.            @ 2,18 SAY "√"
  724.         ENDIF
  725.         IF "8" $ dstr
  726.            @ 3,18 SAY "√"
  727.         ENDIF
  728.         IF "9" $ dstr
  729.            @ 4,18 SAY "√"
  730.         ENDIF
  731.         IF "0" $ dstr
  732.            @ 5,18 SAY "√"
  733.         ENDIF
  734.         IF "1" $ dstr
  735.            @ 6,18 SAY "√"
  736.         ENDIF
  737.         IF "2" $ dstr
  738.            @ 7,18 SAY "√"
  739.         ENDIF
  740.         IF "3" $ dstr
  741.            @ 8,18 SAY "√"
  742.         ENDIF
  743.         IF "4" $ dstr
  744.            @ 9,18 SAY "√"
  745.         ENDIF
  746.  
  747.    CASE n = 4
  748.         IF "l" $ ostr
  749.            @ 2,31 SAY "√"
  750.         ELSE 
  751.            @ 3,31 SAY "√"
  752.         ENDIF
  753.         IF "#" $ ostr
  754.            @ 4,31 SAY "√"
  755.         ENDIF
  756.         IF "f" $ ostr
  757.            @ 5,31 SAY "√"
  758.         ENDIF
  759.    CASE n = 5
  760.         IF "f" $ fstr
  761.            @ 3,56 SAY "√"
  762.         ENDIF
  763.         IF "a" $ fstr
  764.            @ 4,56 SAY "√"
  765.         ENDIF
  766.         IF "n" $ fstr
  767.            @ 5,56 SAY "√"
  768.         ENDIF
  769.         IF "u" $ fstr
  770.            @ 6,56 SAY "√"
  771.         ENDIF
  772. ENDCASE
  773. RETURN
  774.  
  775. **************************************************
  776. PROCEDURE clrB
  777. PARAMETERS n
  778.  
  779. SET COLOR TO B/B
  780. DO CASE
  781.    CASE n = 1
  782.         @ 1,3 CLEAR TO 8,17
  783.    CASE n = 2
  784.         @ 1,9 CLEAR TO 9,20
  785.    CASE n = 3
  786.         @ 1,16 CLEAR TO 11,28
  787.    CASE n = 4
  788.         @ 1,29 CLEAR TO 7,54
  789. ENDCASE
  790. RETURN
  791.  
  792.  
  793.  
  794. **************************************************
  795. PROCEDURE er
  796. PARAMETERS e
  797.  
  798. DO CASE
  799.    CASE e = 1
  800.         err = "Error opening .TXT file."
  801.    CASE e = 2
  802.         err = "Maximum 15,876 items in list. List too long."
  803.    CASE e = 3
  804.         err = "Error creating .PIK file."
  805.    CASE e = 4      
  806.         err = "Error formatting .PIK file."
  807.    CASE e = 5           
  808.         err = "Error writing to .PIK file."
  809.    CASE e = 6           
  810.         err = "Error in length of .PIK file." 
  811. ENDCASE
  812. SET COLOR TO W+/N
  813. @ 10,5 SAY err
  814. SET COLOR TO GR+/N
  815. @ 11,5 SAY "<ANY KEY>"
  816. k = InKey (30)
  817. QUIT
  818.  
  819. RETURN
  820.  
  821.  
  822.